#ifndef LIGHT_H
#define LIGHT_H

#include "D3DConfiguration.h"

#include <D3dx10math.h>

namespace D3D10Utils 
{
	// This struct has all the necessary field to emulate 
	// a parallel, point or spot light.
	struct Light
	{
		__forceinline Light();

		D3DXVECTOR3 mPosition;
		float mPadding1; // not used
		D3DXVECTOR3 mDirection;
		float mPadding2; // not used
		D3DXCOLOR mAmbientColor;
		D3DXCOLOR mDiffuseColor;
		D3DXCOLOR mSpecularColor;
		D3DXVECTOR3 mAttenuation;
		float mSpotLightPower;
		float mRange;
	};

	Light::Light()
	{
		ZeroMemory(this, sizeof(Light));
	}
}

#endif // LIGHT_H
